import { Global, Module } from '@nestjs/common';

interface Options {
  path: string;
}

//全局模块，导出服务
@Global()
@Module({
  providers: [
    {
      provide: 'CONFIG_SERVICE',
      useValue: {
        apiKey: '123',
      },
    },
  ],
  // 导出服务，在其他模块中可以直接注入使用
  exports: ['CONFIG_SERVICE'],
})
export class ConfigModule {
  // 静态方法，用于配置模块
  static forRoot(options: Options) {
    return {
      module: ConfigModule,
      providers: [
        {
          provide: 'CONFIG_SERVICE',
          useValue: {
            apiKey: '123' + options.path,
          },
        },
      ],
      exports: ['CONFIG_SERVICE'],
    };
  }
}
